package Q24

class Main {

}

fun main() {

}

class ListNode(var `val`: Int) {
    var next: ListNode? = null
}

//两两交换链表中的结点
class Solution {
    fun swapPairs(head: ListNode?): ListNode? {
        // base case 退出提交
        if (head?.next == null) return head
        // 获取当前节点的下一个节点
        val next = head.next
        // 进行递归
        val newNode = swapPairs(next!!.next)
        // 这里进行交换
        next.next = head
        head.next = newNode
        return next
    }
}